var Filebase={Category:{}};Filebase.Category.MarkAllAsRead=Class.extend({_callback:null,_proxy:null,init:function(e){this._callback=e,this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),$(".markAllAsReadButton").click($.proxy(this._click,this))},_click:function(e){e.preventDefault(),this._proxy.setOption("data",{actionName:"markAllAsRead",className:"filebase\\data\\category\\FilebaseCategoryAction"}),this._proxy.sendRequest()},_success:function(e,t,i){if(this._callback&&$.isFunction(this._callback))return this._callback();$(".nestedCategoryList").find(".badge.badgeUpdate").hide(),$(".filebaseFileList .new").removeClass("new"),document.querySelectorAll(".mainMenu .active .badge").forEach((e=>e.remove())),WCF.System.Event.fireEvent("com.woltlab.wcf.MainMenuMobile","updateButtonState"),(new WCF.System.Notification).show()}}),Filebase.File={},Filebase.File.Clipboard=Class.extend({_categoryID:0,_environment:"category",_updateHandler:null,init:function(e,t,i){this._updateHandler=e,this._environment=t,this._categoryID=i||0,require(["EventHandler"],function(e){e.add("com.woltlab.wcf.clipboard","com.woltlab.filebase.file",this._clipboardAction.bind(this))}.bind(this))},_clipboardAction:function(e){var t,i;if("com.woltlab.filebase.file.assignLabel"===e.data.actionName)Filebase.File.AssignLabelHandler.prepare(e.data.parameters);else if(e.responseData&&e.responseData.returnValues&&e.responseData.returnValues.fileData)for(i in t=e.responseData.returnValues.fileData)t.hasOwnProperty(i)&&this._updateHandler.update(i,t[i])}}),Filebase.File.InlineEditor=WCF.InlineEditor.extend({_environment:"file",_permissions:{},_redirectURL:"",_updateHandler:null,_setOptions:function(){this._environment="file",this._options=[{label:WCF.Language.get("filebase.file.edit.enable"),optionName:"enable"},{label:WCF.Language.get("filebase.file.edit.disable"),optionName:"disable"},{label:WCF.Language.get("filebase.file.edit.trash"),optionName:"trash"},{label:WCF.Language.get("filebase.file.edit.restore"),optionName:"restore"},{label:WCF.Language.get("filebase.file.edit.delete"),optionName:"delete"},{optionName:"divider"},{label:WCF.Language.get("filebase.file.edit.setAsFeatured"),optionName:"setAsFeatured"},{label:WCF.Language.get("filebase.file.edit.unsetAsFeatured"),optionName:"unsetAsFeatured"},{optionName:"divider"},{label:WCF.Language.get("wcf.global.button.edit"),optionName:"edit",isQuickOption:!0}],WCF.System.Event.fireEvent("Filebase.File.InlineEditor","setOptions",{api:this})},setUpdateHandler:function(e){this._updateHandler=e},_getTriggerElement:function(e){return e.find(".jsFileInlineEditor")},_show:function(e){var t=$(e.currentTarget).data("elementID"),i=null;return this._dropdowns[t]||((i=this._getTriggerElement(this._elements[t]).addClass("dropdownToggle")).parent().addClass("dropdown"),this._dropdowns[t]=$('
').insertAfter(i)),this._super(e),null!==i&&WCF.Dropdown.initDropdown(i,e.originalEvent||e),!1},_validate:function(e,t){var i,a=$("#"+e).data("fileID");switch(t){case"delete":return!!this._getPermission("canDeleteFileCompletely")&&this._updateHandler.getValue(a,"isDeleted");case"restore":return!!this._getPermission("canRestoreFile")&&this._updateHandler.getValue(a,"isDeleted");case"trash":return!!this._getPermission("canDeleteFile")&&!this._updateHandler.getValue(a,"isDeleted");case"enable":return!!this._getPermission("canEnableFile")&&(!this._updateHandler.getValue(a,"isDeleted")&&this._updateHandler.getValue(a,"isDisabled"));case"disable":return!!this._getPermission("canEnableFile")&&(!this._updateHandler.getValue(a,"isDeleted")&&!this._updateHandler.getValue(a,"isDisabled"));case"setAsFeatured":return!!this._getPermission("canSetAsFeatured")&&!this._updateHandler.getValue(a,"isFeatured");case"unsetAsFeatured":return!!this._getPermission("canSetAsFeatured")&&this._updateHandler.getValue(a,"isFeatured");case"edit":return!0}return i={api:this,elementId:e,fileId:a,optionName:t,valid:!1},WCF.System.Event.fireEvent("Filebase.File.InlineEditor","validate",i),!0===i.valid},_execute:function(e,t){var i,a;if(!this._validate(e,t))return!1;switch(t){case"enable":case"disable":this._updateFile(e,t,{isDisabled:"enable"===t?0:1});break;case"delete":i=this,WCF.System.Confirmation.show(WCF.Language.get("filebase.file.confirmDelete"),(function(a){"confirm"===a&&i._updateFile(e,t,{deleted:1})}));break;case"restore":this._updateFile(e,t,{isDeleted:0});break;case"trash":i=this,WCF.System.Confirmation.show(WCF.Language.get("filebase.file.confirmTrash"),(function(a){"confirm"===a&&i._updateFile(e,t,{isDeleted:1,reason:$("#wcfSystemConfirmationContent").find("textarea").val()})}),{},$(''+WCF.Language.get("filebase.file.confirmTrash.reason")+' '));break;case"setAsFeatured":case"unsetAsFeatured":this._updateFile(e,t,{isFeatured:"setAsFeatured"===t?1:0});break;case"edit":window.location=this._getTriggerElement($("#"+e)).prop("href");break;default:return a={api:this,elementId:e,optionName:t,valid:!1},WCF.System.Event.fireEvent("Filebase.File.InlineEditor","execute",a),!0===a.valid}return!0},_updateFile:function(e,t,i){var a,s;"delete"===t?(a=this,s=this._elements[e].data("fileID"),new WCF.Action.Proxy({autoSend:!0,data:{actionName:t,className:"filebase\\data\\file\\FileAction",objectIDs:[s]},success:function(e){a._updateHandler.update(s,e.returnValues.fileData[s])}})):(this._updateData.push({data:i,elementID:e,optionName:t}),this._proxy.setOption("data",{actionName:t,className:"filebase\\data\\file\\FileAction",objectIDs:[this._elements[e].data("fileID")],parameters:{data:i}}),this._proxy.sendRequest())},_updateState:function(e){var t,i,a,s,n;if("file"!=this._environment||1!=this._updateData.length||"trash"!=this._updateData[0].optionName||this._getPermission("canViewDeletedFile"))for(this._notification.show(),t=0,i=this._updateData.length;t ").hide().appendTo(document.body),n=!0):this._dialog.empty(),l=$(''+WCF.Language.get("wcf.message.share.permalink")+" ").appendTo(this._dialog),$(' ').attr("value",i).appendTo(l),l=$(''+WCF.Language.get("wcf.message.share.permalink.bbcode")+" ").appendTo(this._dialog),$(' ').attr("value","[file]"+this._fileID+"[/file]").appendTo(l),l=$(''+WCF.Language.get("wcf.message.share.permalink.html")+" ").appendTo(this._dialog),$(' ').attr("value",''+WCF.String.escapeHTML(a)+" ").appendTo(l),this._cache[s]=this._dialog.html(),n?this._dialog.wcfDialog({title:WCF.Language.get("wcf.message.share")}):this._dialog.wcfDialog("open")):this._dialog.html(this._cache[s]).wcfDialog("open"),this._enableSelection()}}),Filebase.File.UpdateHandler.Category=Filebase.File.UpdateHandler.extend({_delete:function(e,t){this._files[e].remove(),delete this._files[e],WCF.Clipboard.reload()},_deleteNote:function(e,t){$(''+t+"
").insertAfter(this._files[e].find(".filebaseFileTeaser"))},_disable:function(e){this._super(e),this._files[e].addClass("messageDisabled")},_enable:function(e){this._super(e),this._files[e].removeClass("messageDisabled")},_restore:function(e){this._super(e),this._files[e].removeClass("messageDeleted"),this._files[e].find(".filebaseFileDeleteNote").remove()},_setAsFeatured:function(e){this._super(e),this._files[e].addClass("filebaseFileFeatured")},_trash:function(e){this._super(e),this._files[e].addClass("messageDeleted")},_unsetAsFeatured:function(e){this._super(e),this._files[e].removeClass("filebaseFileFeatured")}}),Filebase.File.UpdateHandler.File=Filebase.File.UpdateHandler.extend({_versionHandler:null,setVersionUpdateHandler:function(e){this._versionHandler=e,this._versionHandler.setFileUpdateHandler(this)},update:function(e,t){this._files[e]&&(void 0===t.isDeleted||t.isDeleted||void 0===t.ignoreVersions||(this._restore(e,!0),delete t.ignoreVersions,delete t.isDeleted),void 0===t.isDisabled||t.isDisabled||void 0===t.ignoreVersions||(this._enable(e,!0),delete t.ignoreVersions,delete t.isDisabled)),this._super(e,t)},_delete:function(e,t){new WCF.PeriodicalExecuter((function(e){e.stop(),window.location=t}),1e3)},_deleteNote:function(e,t){$('").insertBefore($("#overview .filebaseFileLikesSummery"))},_disable:function(e){this._super(e),this._files[e].addClass("messageDisabled"),this._versionHandler.updateAllVersions("isDisabled",1)},_enable:function(e,t){this._super(e),this._files[e].removeClass("messageDisabled"),t||this._versionHandler.updateAllVersions("isDisabled",0)},_restore:function(e,t){this._super(e),this._files[e].removeClass("messageDeleted"),$("#overview .filebaseFileDeleteNote").remove(),t||this._versionHandler.updateAllVersions("isDeleted",0)},_setAsFeatured:function(e){this._super(e),$(''+WCF.Language.get("filebase.file.featured")+" ").prependTo($(".filebaseFile .contentTitle"))},_trash:function(e){this._super(e),this._files[e].addClass("messageDeleted"),this._versionHandler.updateAllVersions("isDeleted",1)},_unsetAsFeatured:function(e){this._super(e),$(".jsLabelFeatured").remove()}}),Filebase.File.Upload=WCF.Upload.extend({_fileID:0,init:function(e){this._fileID=e||0,this._super($("#fileUpload > dd > div"),$("#fileUpload > dd > ul"),"filebase\\data\\file\\upload\\FileUploadAction"),this._buttonSelector.find("p.button").click($.proxy(this._showOverwriteWarning,this))},_getParameters:function(){return{fileID:this._fileID}},_showOverwriteWarning:function(e){return!this._fileListSelector.children("li:not(.uploadFailed):not(.jsOverwriteFile)").length||(WCF.System.Confirmation.show(WCF.Language.get("filebase.file.upload.confirmOverwrite"),$.proxy((function(e){"confirm"===e&&(this._fileListSelector.children("li").addClass("jsOverwriteFile"),this._buttonSelector.find("p.button, input[type=file]").trigger("click"))}),this)),e.preventDefault(),!1)},_initFile:function(e){this._fileListSelector.children("li").remove();var t=$(' ').data("filename",e.name);return this._fileListSelector.append(t),this._fileListSelector.show(),this._buttonSelector.data("maxSize") div").append($(''+WCF.Language.get("filebase.file.upload.error.tooLarge")+" ")),t.addClass("uploadFailed")),t},_success:function(e,t){var i=this._fileListSelector.find("li");i.find("progress").remove(),t.returnValues.uploadID?(i.children(".fa-spinner").removeClass("fa-spinner").addClass("fa-check"),i.find("small").append(t.returnValues.formattedFilesize),$("#uploadID").val(t.returnValues.uploadID)):(i.children(".fa-spinner").removeClass("fa-spinner").addClass("fa-ban"),i.find("div > div").append($(''+WCF.Language.get("filebase.file.upload.error."+t.returnValues.errorType)+" ")),i.addClass("uploadFailed")),i.css("display","flex"),WCF.DOMNodeInsertedHandler.execute()},_error:function(){var e=this._fileListSelector.find("li");e.addClass("uploadFailed").children(".fa-spinner").removeClass("fa-spinner").addClass("fa-ban"),e.find("div > div").append($(''+WCF.Language.get("filebase.file.upload.error.uploadFailed")+" "))}}),Filebase.File.Preview=WCF.Popover.extend({_proxy:null,init:function(){this._super(".filebaseFileLink"),this._proxy=new WCF.Action.Proxy({showLoadingOverlay:!1}),WCF.DOMNodeInsertedHandler.addCallback("Filebase.File.Preview",$.proxy(this._initContainers,this))},_loadContent:function(){var e,t,i=$("#"+this._activeElementID);this._proxy.setOption("data",{actionName:"getFilePreview",className:"filebase\\data\\file\\FileAction",objectIDs:[i.data("fileID")]}),e=this._activeElementID,t=this,this._proxy.setOption("success",(function(i,a,s){t._insertContent(e,i.returnValues.template,!0)})),this._proxy.sendRequest()}}),Filebase.File.MarkAsRead=Class.extend({_proxy:null,init:function(){var e,t,i;this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),e=!1,t=!1,$(document).on("dblclick",".filebaseFileCard.new .filebaseFileIconContainer",function(t){t.preventDefault(),e=!0,clearTimeout(i),this._dblclick(t)}.bind(this)).on("click",".filebaseFileCard.new .filebaseFileIconContainer",(function(a){!1===t&&(a.preventDefault(),i=setTimeout((function(){e||(t=!0,a.target.click()),e=!1}),250))}))},_dblclick:function(e){this._proxy.setOption("data",{actionName:"markAsRead",className:"filebase\\data\\file\\FileAction",objectIDs:[$(e.currentTarget).parents("li").data("objectID")]}),this._proxy.sendRequest()},_success:function(e,t,i){$(".filebaseFileCard.new").each((function(t,i){var a=$(i);WCF.inArray(a.parents("li").data("objectID"),e.objectIDs)&&(a.removeClass("new"),a.find(".filebaseFileIconContainer").off("dblclick"))}))}}),Filebase.File.WatchedFileList=Class.extend({_button:null,_markAllCheckbox:null,init:function(){this._button=$("#stopWatchingButton").click($.proxy(this._stopWatching,this)),this._markAllCheckbox=$(".jsMarkAllWatchedFiles").change($.proxy(this._markAll,this));var e=this._mark.bind(this);elBySelAll(".jsWatchedFile",void 0,(function(t){null===t.closest("a")?t.addEventListener("click",e):t.addEventListener("click",(function(i){i.preventDefault(),window.setTimeout((function(){t.checked=!t.checked,e(null,t)}),10)}))}))},_mark:function(e){$(e.target).parents("tr").toggleClass("jsMarked"),this._markAllCheckbox.is(":checked")?this._markAllCheckbox.prop("checked",!1):this._markAllCheckbox.prop("checked",0==$(".jsWatchedFile:not(:checked)").length),this._updateButtonLabel()},_markAll:function(e){$(".jsWatchedFile").prop("checked",this._markAllCheckbox.prop("checked")).parents("tr").toggleClass("jsMarked",this._markAllCheckbox.prop("checked")),this._updateButtonLabel()},_stopWatching:function(e){var t,i=$(".jsWatchedFile:checked"),a=[],s=!1;i.length?i.each((function(e,t){a.push($(t).data("objectID"))})):s=!0,t="filebase.file.watchedFiles.stopWatchingMarked.confirmMessage",s&&(t="filebase.file.watchedFiles.stopWatchingAll.confirmMessage"),WCF.System.Confirmation.show(WCF.Language.get(t),(function(e){"confirm"===e&&new WCF.Action.Proxy({autoSend:!0,data:{actionName:"stopWatching",className:"filebase\\data\\file\\FileAction",parameters:{stopWatchingAll:s,fileIDs:a}},success:function(){window.location.reload()}})}))},_updateButtonLabel:function(){var e=$(".jsWatchedFile:checked"),t="";t=e.length?WCF.Language.get("filebase.file.watchedFiles.stopWatchingMarked",{count:e.length}):WCF.Language.get("filebase.file.watchedFiles.stopWatchingAll"),this._button.html(t)}}),Filebase.File.Version={},Filebase.File.Version.Clipboard=Class.extend({_updateHandler:null,init:function(e){this._updateHandler=e,require(["EventHandler"],function(e){e.add("com.woltlab.wcf.clipboard","com.woltlab.filebase.version",this._clipboardAction.bind(this))}.bind(this))},_clipboardAction:function(e){var t,i,a,s;if(e.responseData&&e.responseData.returnValues){if(e.responseData.returnValues.versionData)for(i in t=e.responseData.returnValues.versionData)t.hasOwnProperty(i)&&this._updateHandler.update(i,t[i]);if(e.responseData.returnValues.fileData)for(s in a=e.responseData.returnValues.fileData)a.hasOwnProperty(s)&&this._updateHandler.getFileUpdateHandler().update(s,a[s])}}}),Filebase.File.Version.InlineEditor=WCF.InlineEditor.extend({_permissions:{},_redirectURL:"",_updateHandler:null,init:function(e,t,i){this._updateHandler=t,this._redirectURL=i,this._super(e)},_setOptions:function(){this._options=[{label:WCF.Language.get("filebase.file.version.edit.enable"),optionName:"enable"},{label:WCF.Language.get("filebase.file.version.edit.disable"),optionName:"disable"},{label:WCF.Language.get("filebase.file.version.edit.trash"),optionName:"trash"},{label:WCF.Language.get("filebase.file.version.edit.restore"),optionName:"restore"},{label:WCF.Language.get("filebase.file.version.edit.delete"),optionName:"delete"},{optionName:"divider"},{label:WCF.Language.get("wcf.global.button.edit"),optionName:"edit",isQuickOption:!0}]},_getTriggerElement:function(e){return e.find(".jsVersionInlineEditor")},_validate:function(e,t){var i,a=$("#"+e).data("objectID");switch(t){case"delete":return!!this._getPermission("canDeleteFileCompletely")&&this._updateHandler.getValue(a,"isDeleted");case"restore":return!!this._getPermission("canRestoreFile")&&this._updateHandler.getValue(a,"isDeleted");case"trash":return!!this._getPermission("canDeleteFile")&&!this._updateHandler.getValue(a,"isDeleted");case"enable":return!!this._getPermission("canEnableFile")&&(!this._updateHandler.getValue(a,"isDeleted")&&this._updateHandler.getValue(a,"isDisabled"));case"disable":return!!this._getPermission("canEnableFile")&&(!this._updateHandler.getValue(a,"isDeleted")&&!this._updateHandler.getValue(a,"isDisabled"));case"edit":return!0}return i={api:this,elementId:e,optionName:t,valid:!1,versionId:a},WCF.System.Event.fireEvent("Filebase.File.Version.InlineEditor","validate",i),!0===i.valid},_execute:function(e,t){var i,a;if(!this._validate(e,t))return!1;switch(t){case"enable":case"disable":this._updateVersion(e,t,{isDisabled:"enable"===t?0:1});break;case"delete":i=this,WCF.System.Confirmation.show(WCF.Language.get("filebase.file.version.confirmDelete"),(function(a){"confirm"===a&&i._updateVersion(e,t,{deleted:1})}));break;case"restore":this._updateVersion(e,t,{isDeleted:0});break;case"trash":i=this,WCF.System.Confirmation.show(WCF.Language.get("filebase.file.version.confirmTrash"),(function(a){"confirm"===a&&i._updateVersion(e,t,{isDeleted:1,reason:$("#wcfSystemConfirmationContent").find("textarea").val()})}),{},$(''+WCF.Language.get("filebase.file.version.confirmTrash.reason")+' '));break;case"edit":window.location=this._getTriggerElement($("#"+e)).prop("href");break;default:return a={api:this,elementId:e,optionName:t,valid:!1},WCF.System.Event.fireEvent("Filebase.File.Version.InlineEditor","execute",a),!0===a.valid}return!0},_updateVersion:function(e,t,i){var a,s;"delete"===t?(a=this,s=this._elements[e].data("objectID"),new WCF.Action.Proxy({autoSend:!0,data:{actionName:t,className:"filebase\\data\\file\\version\\FileVersionAction",objectIDs:[s]},success:function(e){var t,i;for(t in e.returnValues.versionData)a._updateHandler.update(t,e.returnValues.versionData[t]);for(i in e.returnValues.fileData)a._updateHandler.getFileUpdateHandler().update(i,e.returnValues.fileData[i])}})):(this._updateData.push({data:i,elementID:e,optionName:t}),this._proxy.setOption("data",{actionName:t,className:"filebase\\data\\file\\version\\FileVersionAction",objectIDs:[this._elements[e].data("objectID")],parameters:{data:i}}),this._proxy.sendRequest())},_updateState:function(e){var t,i;if("trash"!=e.actionName||this._getPermission("canViewDeletedFile")){if(this._notification.show(),e.returnValues.versionData)for(t in e.returnValues.versionData)this._updateHandler.update(t,e.returnValues.versionData[t]);if(this._updateHandler.getFileUpdateHandler()&&e.returnValues.fileData)for(i in e.returnValues.fileData)this._updateHandler.getFileUpdateHandler().update(i,e.returnValues.fileData[i])}else this._notification.show($.proxy((function(){window.location=this._redirectURL}),this))},_getPermission:function(e){return this._permissions[e]?this._permissions[e]:0},setPermission:function(e,t){this._permissions[e]=t},setPermissions:function(e){for(var t in e)this.setPermission(t,e[t])}}),Filebase.File.Version.Loader=Class.extend({_container:null,_loadButton:null,_limit:10,_proxy:null,init:function(){this._container=$("#versions > ul"),this._limit=10,this._container.data("versions")<=this._limit||(this._proxy=new WCF.Action.Proxy({success:$.proxy(this._success,this)}),this._loadButton=$(''+WCF.Language.get("filebase.file.version.more",{count:this._container.data("versions")-this._limit})+" ").appendTo(this._container),this._loadButton=this._loadButton.children("button").click($.proxy(this._click,this)))},_click:function(){this._loadButton.disable(),this._proxy.setOption("data",{actionName:"load",className:"filebase\\data\\file\\version\\FileVersionAction",parameters:{fileID:this._container.data("fileID"),offset:this._container.children("li:not(.versionsMore):not(.containerListButtonGroup)").length}}),this._proxy.sendRequest()},_success:function(e,t,i){if(e.returnValues.template){$(e.returnValues.template).insertBefore(this._loadButton.parent());var a=this._container.data("versions")-this._container.children("li:not(.versionsMore):not(.containerListButtonGroup)").length;a>0?this._loadButton.text(WCF.Language.get("filebase.file.version.more",{count:a})).enable():this._loadButton.parent().remove()}else this._loadButton.parent().remove()}}),Filebase.File.Version.UpdateHandler=Class.extend({_fileHandler:null,_versions:{},init:function(){var e=this;$(".filebaseVersion").each((function(t,i){var a=$(i);e._versions[a.data("objectID")]=a}))},setFileUpdateHandler:function(e){this._fileHandler=e},getFileUpdateHandler:function(){return this._fileHandler},update:function(e,t){if(this._versions[e])for(var i in t)this._updateProperty(e,i,t[i]);else console.debug("[Filebase.File.Version.UpdateHandler] Unknown file id "+e)},updateAllVersions:function(e,t){for(var i in this._versions)this._updateProperty(i,e,t)},_updateProperty:function(e,t,i){switch(t){case"deleted":this._delete(e,i);break;case"deleteNote":this._deleteNote(e,i);break;case"isDeleted":i?this._trash(e):this._restore(e);break;case"isDisabled":i?this._disable(e):this._enable(e);break;default:this._handleCustomProperty(e,t,i)}},_handleCustomProperty:function(e,t,i){this._versions[e].trigger("fileUpdateHandlerProperty",[e,t,i])},_delete:function(e){this._versions[e].remove(),delete this._versions[e],WCF.Clipboard.reload()},_deleteNote:function(e,t){$(''+t+"
").insertBefore(this._versions[e].find(".filebaseVersionButtonsContainer"))},_disable:function(e){var t,i;this.getValue(e,"isDisabled")||(this._versions[e].data("isDisabled",1),t=$(''+WCF.Language.get("filebase.file.version.isDisabled")+" "),(i=this._versions[e].find(".jsLabelDeleted")).length?t.insertAfter(i):t.prependTo(this._versions[e].find("h3")),t.append(" "))},_enable:function(e){this._versions[e].data("isDisabled",0).find(".jsLabelDisabled").remove()},_restore:function(e){this._versions[e].data("isDeleted",0).find(".jsLabelDeleted").remove().end().find(".filebaseFileVersionDeleteNote").remove()},_trash:function(e){this.getValue(e,"isDeleted")||(this._versions[e].data("isDeleted",1),$(''+WCF.Language.get("filebase.file.version.isDeleted")+" ").prependTo(this._versions[e].find("h3")).append(" "))},getValue:function(e,t){if(this._versions[e])switch(t){case"isDeleted":return this._versions[e].data("isDeleted");case"isDisabled":return this._versions[e].data("isDisabled");case"isFeatured":return this._versions[e].data("isFeatured")}else console.debug("[Filebase.File.Version.UpdateHandler] Unknown version id "+e)}}),Filebase.File.IconUpload=WCF.Upload.extend({_deleteFileIconButton:null,_fileID:0,_icon:null,_tmpHash:"",init:function(e,t){this._fileID=e,this._tmpHash=t,this._icon=$("#fileIcon"),this._deleteFileIconButton=$("#deleteFileIcon").click($.proxy(this._confirmDeleteIcon,this)),this._super($("#fileIconUploadButton"),$(""),"filebase\\data\\file\\FileAction",{action:"uploadIcon"})},_getParameters:function(){return{fileID:this._fileID,tmpHash:this._tmpHash}},_success:function(e,t){t.returnValues.url?(this._getIcon().show().attr("src",t.returnValues.url+"?timestamp="+Date.now()),this._buttonSelector.next(".innerError").remove(),new WCF.System.Notification(WCF.Language.get("wcf.global.success")).show(),this._deleteFileIconButton.show()):t.returnValues.errorType&&this._getInnerErrorElement().text(WCF.Language.get("filebase.file.icon.error."+t.returnValues.errorType))},_upload:function(){this._super(),this._fileUpload&&(this._removeButton(),this._createButton())},_getIcon:function(){return this._icon.length||(this._icon=$(' ').prependTo($("#fileIconUpload > dd"))),this._icon},_getInnerErrorElement:function(){var e=$("#fileIconUploadButton").next(".innerError");return e.length||(e=$(' ').insertAfter($("#fileIconUploadButton"))),e},_confirmDeleteIcon:function(e){e.preventDefault(),WCF.System.Confirmation.show(WCF.Language.get("filebase.file.icon.delete.confirmMessage"),$.proxy((function(e){"confirm"===e&&this._deleteIcon()}),this))},_deleteIcon:function(){new WCF.Action.Proxy({autoSend:!0,data:{actionName:"deleteIcon",className:"filebase\\data\\file\\FileAction",parameters:this._getParameters()}}),this._deleteFileIconButton.hide(),this._icon.hide()}}),Filebase.File.LabelChooser=WCF.Label.Chooser.extend({_labelGroupsToCategories:null,init:function(e,t,i,a,s){this._super(t,i,a,s),this._labelGroupsToCategories=e,this._updateLabelGroups(),$("#categoryID").change($.proxy(this._updateLabelGroups,this))},_updateLabelGroups:function(){var e,t,i;if($(".labelChooser").each((function(e,t){$(t).parents("dl:eq(0)").hide()})),[],e=parseInt($("#categoryID").val()),this._labelGroupsToCategories[e])for(t=0,i=this._labelGroupsToCategories[e].length;t ").appendTo(document.body),this._dialog.html(e.template),this._dialog.wcfDialog({title:WCF.Language.get("filebase.file.edit.assignLabel")})):(this._dialog.html(e.template),this._dialog.wcfDialog("open")),this._dialog.find(".formSubmit > .buttonPrimary").click($.proxy(this._click,this))},_click:function(){var e={};this._dialog.find(".labelList > .dropdown").each((function(t,i){var a=$(i);a.data("labelID")&&(e[a.data("groupID")]=a.data("labelID"))})),new WCF.Action.Proxy({autoSend:!0,data:{actionName:"assignLabel",className:"filebase\\data\\file\\FileAction",objectIDs:this._objectIDs,parameters:{labelIDs:e}},success:$.proxy(this._success,this)})},_success:function(e,t,i){var a,s,n,l,o,r=e.returnValues.labels;for(a=0;a .containerHeadline")).children(".labelList")).length?r.length?n.empty():n.remove():r.length&&(n=$('').appendTo(s)),l=0;l'+WCF.String.escapeHTML(o.label)+" ").appendTo(n).before(" ");this._dialog.wcfDialog("close"),WCF.Clipboard.reload(),(new WCF.System.Notification).show()}},Filebase.Review={},Filebase.Review.InlineEditor=WCF.InlineEditor.extend({_setOptions:function(){this._options=[{label:WCF.Language.get("wcf.global.button.enable"),optionName:"enable"},{label:WCF.Language.get("wcf.global.button.disable"),optionName:"disable"},{label:WCF.Language.get("wcf.global.button.delete"),optionName:"delete"},{optionName:"divider"},{label:WCF.Language.get("wcf.global.button.edit"),optionName:"edit",isQuickOption:!0}]},_getTriggerElement:function(e){return e.find(".jsReviewInlineEditor")},_show:function(e){var t=$(e.currentTarget).data("elementID"),i=null;return this._dropdowns[t]||((i=this._getTriggerElement(this._elements[t]).addClass("dropdownToggle")).parent().addClass("dropdown"),this._dropdowns[t]=$('').insertAfter(i)),this._super(e),null!==i&&WCF.Dropdown.initDropdown(i,e.originalEvent||e),!1},_validate:function(e,t){var i=$("#"+e);switch(t){case"delete":return i.data("canDelete");case"enable":return i.data("canModerate")&&i.data("isDisabled");case"disable":return i.data("canModerate")&&!i.data("isDisabled");case"edit":return!0}return!1},_execute:function(e,t){if(!this._validate(e,t))return!1;switch(t){case"enable":case"disable":this._updateReview(e,t,{isDisabled:"enable"===t?0:1});break;case"delete":var i=this;WCF.System.Confirmation.show(WCF.Language.get("filebase.file.review.delete.confirmMessage"),(function(a){"confirm"===a&&i._updateReview(e,t,{deleted:1})}));break;case"edit":window.location=this._getTriggerElement($("#"+e)).prop("href");break;default:return!1}return!0},_updateReview:function(e,t,i){var a;"delete"===t?(a=this._elements[e].data("objectID"),new WCF.Action.Proxy({autoSend:!0,data:{actionName:t,className:"filebase\\data\\file\\version\\review\\FileVersionReviewAction",objectIDs:[a]},success:function(t){this._elements[e].remove()}.bind(this)})):"disable"!==t&&"enable"!==t||(a=this._elements[e].data("objectID"),new WCF.Action.Proxy({autoSend:!0,data:{actionName:"toggle",className:"filebase\\data\\file\\version\\review\\FileVersionReviewAction",objectIDs:[a],parameters:{data:i}},success:function(i){"disable"===t?(this._elements[e].data("is-disabled",1),this._elements[e].find(".filebaseFileReviewMetaData").prepend(""+WCF.Language.get("wcf.message.status.disabled")+" ")):(this._elements[e].data("is-disabled",0),this._elements[e].find(".jsIconDisabled").parent().remove())}.bind(this)}))}});